The present invention relates to client server computer systems. In particular, the invention relates to a novel approach to sending data, particularly graphics data from a server to a client system.
As computer systems have gained both acceptance and popularity, ease of use has become an issue. In many respects, so-called "user friendly" interfaces have made a difference in their successful deployment. Users now expect that computers will not be merely text based, but that they will include graphical interfaces, as well as graphical applications.
Heretofore, a limitation which has existed in the successful implementation of graphical systems has been that they have been extremely hardware intensive. In particular, in order to advance the art in computer graphics, the standard approach has been to upgrade the hardware--to gain better resolution, to gain faster screen displays, and to otherwise gain faster and better access to the available data.
Up to a point, this "brute force" approach has actually been needed. For example, a high resolution monitor is required in order to display high resolution graphics, and a fast processor is required in order to be able to update images quickly on the screen. However, a problem which remains is that the brute force approach, itself, has limitations. In particular, it is very expensive to continuously upgrade hardware, and unless all aspects of the hardware can be upgraded, there will be limitations on the overall system benefits simply because system performance will always be limited to the weakest link in the system.
These limitations are particularly true in client-server systems, i.e., those systems in which a server containing large amounts of data, is called upon by a client system to provide the data so that the client can render and image. In such systems, the previous approach of sending all of the available data to the client, and letting the client process the data and create a screen image, is simply too inefficient. This inefficiency is further amplified where the server has large amounts of data available for use in generating three-dimensional ("3-D") images on the client system.